import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Font;
import java.awt.Color;

/**
 * Tiempo del Juego
 */
public class Reloj extends Actor
{
    private String minutes; //Cadena de minutos para mostrar el reloj en el mundo
    private String seconds; //Cadena de Segundos para mostrar el reloj en el mundo 
    private int minutes2 = 0; //Entero para ir acumulando los minutos
    private int seconds2 = 0; //Entero  para ir acumulando los segundos
    private int tiempo=0;  //Variable para poder llevar los segundos exactos
    
    public void addedToWorld(World world)
    {
        act();
    }

    /**
     * Ejecuta el Reloj;
     */
    public void act() 
    {
        incrementaSegundo();
        pinta();
        tiempo++;
    }
    
    /**
     * Adelanta minutos y segundos;
     */
    private void incrementaSegundo()
    {
        
        if (tiempo%17==0)
            seconds2++;
        
        if(seconds2==60)
        {
            seconds2=0;
            minutes2++;
        }
        
        this.minutes = getStr(minutes2);
        this.seconds = getStr(seconds2);
    }
    
    /**
     * Copia la variable entera con la cadena para poder mostrarlo 
     */
    private String getStr(int val)
    {
        String str = null;
        
        if(val<10) 
            str = "0"+val;
        else 
            str = ""+val;
        
        return str;
    }
    
    /**
     * Lo pinta en el mundo
     */
    private void pinta()
    {
        GreenfootImage imagen = new GreenfootImage(100,100);
        Font fuente = imagen.getFont();
        fuente = fuente.deriveFont(new Float(15));
        fuente = fuente.deriveFont(Font.ITALIC);
        fuente = fuente.deriveFont(Font.BOLD);
        imagen.setFont(fuente);
        imagen.setColor(Color.GREEN);
        imagen.drawString(minutes + " : " + seconds, 25, 100);
        setImage(imagen);
    }
    /**
     * Metodo que retorna los minutos del reloj
     */
    public int getMinutes()
    {
        return minutes2;
    }
    
    /**
     * Limpia el reloj en ceros
     */
    public void clear()
    {
        minutes2=0;
        seconds2=0;
    }

}
